const mongoose = require('mongoose');
const fs = require('fs');
const path = require('path');

// 连接数据库
mongoose.connect('mongodb://localhost:27017/guan', {
    useNewUrlParser: true,
    useUnifiedTopology: true
});

// 定义图标模型
const iconSchema = new mongoose.Schema({
    name: String,        // 图标名称
    icon_name: String,   // 图标类名
    category: String     // 分类
});

const Icon = mongoose.model('Icon', iconSchema);

// 读取 icon.json 文件
const importIcons = async () => {
    try {
        // 读取 icon.json 文件
        const iconData = JSON.parse(fs.readFileSync(path.join(__dirname, '../../src/data/icon.json'), 'utf8'));
        
        // 清空现有数据
        await Icon.deleteMany({});
        
        // 转换数据格式并插入
        const icons = iconData.icon.map(item => ({
            name: item.name,
            icon_name: item['icon-name'],
            category: 'default'  // 设置默认类别
        }));
        
        await Icon.insertMany(icons);
        console.log('图标数据导入成功！共导入 ' + icons.length + ' 个图标');
        
        // 关闭数据库连接
        mongoose.connection.close();
    } catch (error) {
        console.error('导入失败:', error);
        mongoose.connection.close();
    }
};

importIcons(); 